package com.beidouin.sensortest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.friendlyarm.AndroidSDK.GPIOEnum;
import com.friendlyarm.AndroidSDK.HardwareControler;

import java.security.PublicKey;


public class LEDActivity extends AppCompatActivity implements View.OnClickListener{

    Button led1btn,led2btn,led3btn,led4btn;
//    TextView led1txv,led2txv,led3txv,led4txv;
    boolean ledsta1,ledsta2,ledsta3,ledsta4;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_led);

        ledsta1=true;
        ledsta2=true;
        ledsta3=true;
        ledsta4=true;


        led1btn= (Button) findViewById(R.id.led1_button);
        led2btn= (Button) findViewById(R.id.led2_button);
        led3btn= (Button) findViewById(R.id.led3_button);
        led4btn= (Button) findViewById(R.id.led4_button);

        led1btn.setOnClickListener(this);
        led2btn.setOnClickListener(this);
        led3btn.setOnClickListener(this);
        led4btn.setOnClickListener(this);

//        led1txv= (TextView) findViewById(R.id.Led1_view);
//        led2txv= (TextView) findViewById(R.id.Led2_view);
//        led3txv= (TextView) findViewById(R.id.Led3_view);
//        led4txv= (TextView) findViewById(R.id.Led4_view);


        HardwareControler.exportGPIOPin(73);//使能端口
        HardwareControler.setGPIODirection(73, GPIOEnum.OUT);//设置GPIO为输出模式
        HardwareControler.exportGPIOPin(74);//使能端口
        HardwareControler.setGPIODirection(74, GPIOEnum.OUT);//设置GPIO为输出模式
        HardwareControler.exportGPIOPin(75);//使能端口
        HardwareControler.setGPIODirection(75, GPIOEnum.OUT);//设置GPIO为输出模式
        HardwareControler.exportGPIOPin(76);//使能端口
        HardwareControler.setGPIODirection(76, GPIOEnum.OUT);//设置GPIO为输出模式
        HardwareControler.setGPIOValue(73,GPIOEnum.LOW);
        HardwareControler.setGPIOValue(74,GPIOEnum.LOW);
        HardwareControler.setGPIOValue(75,GPIOEnum.LOW);
        HardwareControler.setGPIOValue(76,GPIOEnum.LOW);

    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            HardwareControler.setGPIOValue(73,GPIOEnum.LOW);
            HardwareControler.setGPIOValue(74,GPIOEnum.LOW);
            HardwareControler.setGPIOValue(75,GPIOEnum.LOW);
            HardwareControler.setGPIOValue(76,GPIOEnum.LOW);

        }
        return super.onKeyDown(keyCode,event);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId())
        {
            case R.id.led1_button: {
                ledsta1 = !ledsta1;
                if(ledsta1==true)
                {
//                    led1txv.setText("Led1:  off");
                    led1btn.setBackgroundColor(getResources().getColor(android.R.color.darker_gray));
                    HardwareControler.setGPIOValue(73,GPIOEnum.LOW);
                }
                else
                {
//                    led1txv.setText("Led1:  on");
                    led1btn.setBackgroundColor(getResources().getColor(android.R.color.holo_orange_dark));
                    HardwareControler.setGPIOValue(73,GPIOEnum.HIGH);
                }

            }
            break;
            case R.id.led2_button: {
                ledsta2 = !ledsta2;
                if(ledsta2==true)
                {
//                    led2txv.setText("Led2:  off");
                    led2btn.setBackgroundColor(getResources().getColor(android.R.color.darker_gray));
                    HardwareControler.setGPIOValue(74,GPIOEnum.LOW);
                }
                else
                {
//                    led2txv.setText("Led2:  on");
                    led2btn.setBackgroundColor(getResources().getColor(android.R.color.holo_orange_dark));
                    HardwareControler.setGPIOValue(74,GPIOEnum.HIGH);
                }
            }
            break;
            case R.id.led3_button: {
                ledsta3 = !ledsta3;
                if(ledsta3==true)
                {
//                    led3txv.setText("Led3:  off");
                    led3btn.setBackgroundColor(getResources().getColor(android.R.color.darker_gray));
                    HardwareControler.setGPIOValue(75,GPIOEnum.LOW);
                }
                else
                {
//                    led3txv.setText("Led3:  on");
                    led3btn.setBackgroundColor(getResources().getColor(android.R.color.holo_orange_dark));
                    HardwareControler.setGPIOValue(75,GPIOEnum.HIGH);
                }
            }
            break;
            case R.id.led4_button: {
                ledsta4 = !ledsta4;
                if(ledsta4==true)
                {
//                    led4txv.setText("Led4:  off");
                    led4btn.setBackgroundColor(getResources().getColor(android.R.color.darker_gray));
                    HardwareControler.setGPIOValue(76,GPIOEnum.LOW);
                }
                else
                {
//                    led4txv.setText("Led4:  on");
                    led4btn.setBackgroundColor(getResources().getColor(android.R.color.holo_orange_dark));
                    HardwareControler.setGPIOValue(76,GPIOEnum.HIGH);
                }
            }
            break;

        }
    }
}
